import request from '@/utils/request'

// 登录
export function login(data) {
  return request({
    url: '/auth/login',
    method: 'post',
    data
  })
}

// 注册
export function register(data) {
  return request({
    url: '/auth/register',
    method: 'post',
    data
  })
}

//验证码
export function getCaptcha() {
  return request({
    url: '/auth/captcha',
    method: 'get'
  })
}

// 获取用户信息
export function getInfo() {
  return request({
    url: '/auth/info',
    method: 'get'
  })
}

// 登出
export function logout() {
  return request({
    url: '/auth/logout',
    method: 'post'
  })
}

// 获取用户列表
export function getUserList(params) {
  return request({
    url: '/users/list',
    method: 'get',
    params
  })
}

// 创建用户
export function createUser(data) {
  return request({
    url: '/users/create',
    method: 'post',
    data
  })
}

// 更新用户
export function updateUser(id, data) {
  return request({
    url: `/users/${id}`,
    method: 'put',
    data
  })
}

// 删除用户
export function deleteUser(id) {
  return request({
    url: `/users/${id}`,
    method: 'delete'
  })
} 

// 忘记密码
export function forgotPassword(data) {
  return request({
    url: '/auth/forgot-password',
    method: 'post',
    data
  })
}

// 重置密码
export function resetPassword(data) {
  return request({
    url: '/auth/reset-password',
    method: 'post',
    data
  })
}

// 发送修改密码验证码
export function sendChangePasswordCaptcha(data) {
  return request({
    url: '/auth/send-change-password-captcha',
    method: 'post',
    data
  })
}

// 修改密码
export function changePassword(data) {
  return request({
    url: '/auth/change-password',
    method: 'post',
    data
  })
}

// 更新用户信息（个人信息编辑用）
export function updateUserInfo(data) {
  // 确保ID作为字符串处理
  const updateData = {
    ...data,
    id: String(data.id)
  }
  
  console.log('API updateUserInfo called with:', updateData)
  
  return request({
    url: '/users/update',
    method: 'put',
    data: updateData
  })
}

// 上传头像
export function uploadAvatar(data) {
  return request({
    url: '/users/avatar',
    method: 'post',
    headers: {
      'Content-Type': 'multipart/form-data'
    },
    data
  })
}

// 获取用户信息（个人信息编辑用）
export function getUserInfo() {
  return request({
    url: '/auth/info',
    method: 'get'
  })
}

// 分页+搜索用户
export function pageUsers(params) {
  return request({
    url: '/users/page',
    method: 'get',
    params
  })
}

// 批量导入用户
export function importUsers(data) {
  return request({
    url: '/users/import',
    method: 'post',
    headers: { 'Content-Type': 'multipart/form-data' },
    data
  })
}

// 获取当前用户信息（用于权限刷新）
export function getCurrentUserInfo() {
  return request({
    url: '/users/current',
    method: 'get'
  })
}